<!-- 我的表格 -->

<template>
  <WebTable :key="param.begin" class="ScheduleCalendar-MyTable">
    <RowTitle label="姓名" bind="userName" fixLeft :minWidth="100" />

    <RowSlot
      v-for="item in param.xData"
      :key="item"
      :label="item"
      :bind="item.slice(0, 10)"
      :width="180"
      :exportTrans="exportTrans"
    >
      <template #default="{ row, bind }">
        <CalendarPreview :obj="row[bind]" />
      </template>
    </RowSlot>
  </WebTable>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'MyTable',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [CORE.mixWeb()],

  /**
   * 组件导入 (Abc.vue + Abc/index.vue)
   */
  ...CORE.components(require.context('../../components', true, /vue$/)),

  /**
   * 本地方法 (轻量重要在前)
   */
  methods: {
    /**
     * 导出转换
     */
    exportTrans(row, bind) {
      const obj = row[bind]
      if (CORE.isEmpty(obj)) return ''

      const { timeName, timeBegin, timeEnd } = obj
      return `${timeName} ${timeBegin}-${timeEnd}`
    },
  },
}
</script>

<style lang="scss">
@import './index.scss';
</style>
